package com.zhangxin.aiInterview.utils;

import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Component
public class FaceActionManager {
    // 存储每个用户的 FaceAction 列表（Key: 用户ID, Value: List<FaceAction>）
    private final Map<Long, List<FaceAction>> userFaceActions = new HashMap<>();

    /**
     * 内部类：存储用户的 4 种动作数据
     */
    @Data
    @AllArgsConstructor
    public static class FaceAction {
        private String eyeBlink;  // 眨眼次数/秒
        private String mouthPuff; // 抿嘴次数
        private String eyeUpLeft; // 左上斜看次数
        private String eyeUpRight; // 右上斜看次数
    }

    /**
     * 添加用户的 FaceAction 数据
     */
    public void addFaceAction(Long userId, FaceAction faceAction) {
        userFaceActions.computeIfAbsent(userId, k -> new ArrayList<>()).add(faceAction);
    }

    /**
     * 获取用户的 FaceAction 列表
     */
    public List<FaceAction> getFaceActions(Long userId) {
        return userFaceActions.getOrDefault(userId, new ArrayList<>());
    }

    /**
     * 清空某个用户的数据
     */
    public void clearUserData(String userId) {
        userFaceActions.remove(userId);
    }

    /**
     * 清空所有用户的数据
     */
    public void clearAllData() {
        userFaceActions.clear();
    }

    /**
     * 获取所有用户的数据
     */
    public Map<Long, List<FaceAction>> getAllUserData() {
        return new HashMap<>(userFaceActions);
    }
}